<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
          "DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <title>py2rhino.obj._rhinoscript_classes._CurveRootFunc</title>
  <link rel="stylesheet" href="epydoc.css" type="text/css" />
  <script type="text/javascript" src="epydoc.js"></script>
</head>

<body bgcolor="white" text="black" link="blue" vlink="#204080"
      alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">
  <!-- Home link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="py2rhino-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Project homepage -->
      <th class="navbar" align="right" width="100%">
        <table border="0" cellpadding="0" cellspacing="0">
          <tr><th class="navbar" align="center"
            >py2rhino</th>
          </tr></table></th>
  </tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
  <tr valign="top">
    <td width="100%">
      <span class="breadcrumbs">
        <a href="py2rhino-module.html">Package&nbsp;py2rhino</a> ::
        <a href="py2rhino.obj-module.html">Package&nbsp;obj</a> ::
        <a href="py2rhino.obj._rhinoscript_classes-module.html">Module&nbsp;_rhinoscript_classes</a> ::
        Class&nbsp;_CurveRootFunc
      </span>
    </td>
    <td>
      <table cellpadding="0" cellspacing="0">
        <!-- hide/show private -->
        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
        <tr><td align="right"><span class="options"
            >[<a href="frames.html" target="_top">frames</a
            >]&nbsp;|&nbsp;<a href="py2rhino.obj._rhinoscript_classes._CurveRootFunc-class.html"
            target="_top">no&nbsp;frames</a>]</span></td></tr>
      </table>
    </td>
  </tr>
</table>
<!-- ==================== CLASS DESCRIPTION ==================== -->
<h1 class="epydoc">Class _CurveRootFunc</h1><p class="nomargin-top"><span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#_CurveRootFunc">source&nbsp;code</a></span></p>
<pre class="base-tree">
     object --+    
              |    
<a href="py2rhino.obj._rhinoscript_classes._ObjectRootFunc-class.html" onclick="show_private();">_ObjectRootFunc</a> --+
                  |
                 <strong class="uidshort">_CurveRootFunc</strong>
</pre>

<hr />
<!-- ==================== INSTANCE METHODS ==================== -->
<a name="section-InstanceMethods"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Instance Methods</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-InstanceMethods"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.obj._rhinoscript_classes._CurveRootFunc-class.html#crv_arc_length_pnt" class="summary-sig-name">crv_arc_length_pnt</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">length</span>,
        <span class="summary-sig-arg">from_start</span>=<span class="summary-sig-default">pythoncom.Empty</span>)</span><br />
      Returns the point on the curve that is a specified arc length from 
      the start of the curve.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#_CurveRootFunc.crv_arc_length_pnt">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.obj._rhinoscript_classes._CurveRootFunc-class.html#closest_pnt" class="summary-sig-name">closest_pnt</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">point</span>)</span><br />
      Returns the parameter of the point on a curve that is closest to a 
      test point.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#_CurveRootFunc.closest_pnt">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.obj._rhinoscript_classes._CurveRootFunc-class.html#contour_pnts" class="summary-sig-name">contour_pnts</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">start_point</span>,
        <span class="summary-sig-arg">end_point</span>,
        <span class="summary-sig-arg">interval</span>=<span class="summary-sig-default">pythoncom.Empty</span>)</span><br />
      Returns the 3-D point locations calculated by contouring a curve 
      object.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#_CurveRootFunc.contour_pnts">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.obj._rhinoscript_classes._CurveRootFunc-class.html#crv_intersection" class="summary-sig-name">crv_intersection</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">curve</span>=<span class="summary-sig-default">pythoncom.Empty</span>,
        <span class="summary-sig-arg">tolerance</span>=<span class="summary-sig-default">pythoncom.Empty</span>)</span><br />
      Calculates the intersection of two curve objects.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#_CurveRootFunc.crv_intersection">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.obj._rhinoscript_classes._CurveRootFunc-class.html#deviation" class="summary-sig-name">deviation</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">curve</span>)</span><br />
      Returns the minimum and maximum deviation between two curve objects.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#_CurveRootFunc.deviation">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.obj._rhinoscript_classes._CurveRootFunc-class.html#directions_match" class="summary-sig-name">directions_match</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">curve</span>)</span><br />
      Tests if two curve objects are generally in the same direction or if 
      they would be more in the same direction if one of them were flipped.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#_CurveRootFunc.directions_match">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.obj._rhinoscript_classes._CurveRootFunc-class.html#radius" class="summary-sig-name">radius</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">point</span>)</span><br />
      Returns the radius of curvature at a point on a curve.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#_CurveRootFunc.radius">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.obj._rhinoscript_classes._CurveRootFunc-class.html#srf_intersection" class="summary-sig-name">srf_intersection</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">surface</span>,
        <span class="summary-sig-arg">tolerance</span>=<span class="summary-sig-default">pythoncom.Empty</span>,
        <span class="summary-sig-arg">angle_tolerance</span>=<span class="summary-sig-default">pythoncom.Empty</span>)</span><br />
      Calculates the intersection of a curve object with a surface object.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#_CurveRootFunc.srf_intersection">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.obj._rhinoscript_classes._CurveRootFunc-class.html#divide_crv" class="summary-sig-name">divide_crv</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">segments</span>,
        <span class="summary-sig-arg">create</span>=<span class="summary-sig-default">pythoncom.Empty</span>,
        <span class="summary-sig-arg">points</span>=<span class="summary-sig-default">pythoncom.Empty</span>)</span><br />
      Divides a curve object into a specified number of segments.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#_CurveRootFunc.divide_crv">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.obj._rhinoscript_classes._CurveRootFunc-class.html#divide_crv_equidistant" class="summary-sig-name">divide_crv_equidistant</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">distance</span>,
        <span class="summary-sig-arg">create</span>=<span class="summary-sig-default">pythoncom.Empty</span>,
        <span class="summary-sig-arg">points</span>=<span class="summary-sig-default">pythoncom.Empty</span>)</span><br />
      Divides a curve such that the linear distance between the points is equal.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#_CurveRootFunc.divide_crv_equidistant">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.obj._rhinoscript_classes._CurveRootFunc-class.html#divide_crv_length" class="summary-sig-name">divide_crv_length</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">length</span>,
        <span class="summary-sig-arg">create</span>=<span class="summary-sig-default">pythoncom.Empty</span>,
        <span class="summary-sig-arg">points</span>=<span class="summary-sig-default">pythoncom.Empty</span>)</span><br />
      Divides a curve object into segments of a specified length.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#_CurveRootFunc.divide_crv_length">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.obj._rhinoscript_classes._CurveRootFunc-class.html#line_fit_from_pnts" class="summary-sig-name">line_fit_from_pnts</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Returns the starting and ending points of a line that was fit through
      an array of 3-D points.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#_CurveRootFunc.line_fit_from_pnts">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.obj._rhinoscript_classes._CurveRootFunc-class.html#make_non_periodic" class="summary-sig-name">make_non_periodic</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Makes a periodic curve non-periodic.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#_CurveRootFunc.make_non_periodic">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.obj._rhinoscript_classes._CurveRootFunc-class.html#make_periodic" class="summary-sig-name">make_periodic</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Makes an existing curve a periodic NURBS curve.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#_CurveRootFunc.make_periodic">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.obj._rhinoscript_classes._CurveRootFunc-class.html#planar_crv_collision" class="summary-sig-name">planar_crv_collision</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">curve</span>,
        <span class="summary-sig-arg">plane</span>=<span class="summary-sig-default">pythoncom.Empty</span>,
        <span class="summary-sig-arg">tolerance</span>=<span class="summary-sig-default">pythoncom.Empty</span>)</span><br />
      Determines if two coplanar curves intersect.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#_CurveRootFunc.planar_crv_collision">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
  <tr>
    <td colspan="2" class="summary">
    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
      <code>__delattr__</code>,
      <code>__getattribute__</code>,
      <code>__hash__</code>,
      <code>__init__</code>,
      <code>__new__</code>,
      <code>__reduce__</code>,
      <code>__reduce_ex__</code>,
      <code>__repr__</code>,
      <code>__setattr__</code>,
      <code>__str__</code>
      </p>
    </td>
  </tr>
</table>
<!-- ==================== PROPERTIES ==================== -->
<a name="section-Properties"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Properties</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-Properties"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
  <tr>
    <td colspan="2" class="summary">
    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
      <code>__class__</code>
      </p>
    </td>
  </tr>
</table>
<!-- ==================== METHOD DETAILS ==================== -->
<a name="section-MethodDetails"></a>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Method Details</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-MethodDetails"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
</table>
<a name="crv_arc_length_pnt"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">crv_arc_length_pnt</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">length</span>,
        <span class="sig-arg">from_start</span>=<span class="sig-default">pythoncom.Empty</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#_CurveRootFunc.crv_arc_length_pnt">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Returns the point on the curve that is a specified arc length from the
  start of the curve.</p>
  <h1 class="heading">Parameters</h1>
    <p>length  (float, Required) - The arc length from the start of the 
    curve to evaluate. from_start  (boolean, Optional) - If not specified 
    or True, then the arc length point is calculated from the start of the 
    curve. If False, the arc length point is calculated from the end of the
    curve.</p>
  <h1 class="heading">Returns</h1>
    <p>list - The 3-D point if successful. None - If not successful, or on 
    error.</p>
  <h1 class="heading">Rhinoscript</h1>
    <p>This function calls the Rhinoscript function: 
    CurveArcLengthPoint</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="closest_pnt"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">closest_pnt</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">point</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#_CurveRootFunc.closest_pnt">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Returns the parameter of the point on a curve that is closest to a 
  test point.</p>
  <h1 class="heading">Parameters</h1>
    <p>point  (List of float, Required) - The test, or sampling, point.</p>
  <h1 class="heading">Returns</h1>
    <p>number - The parameter of the closest point on the curve if 
    successful. None - If not successful, or on error.</p>
  <h1 class="heading">Rhinoscript</h1>
    <p>This function calls the Rhinoscript function: CurveClosestPoint</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="contour_pnts"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">contour_pnts</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">start_point</span>,
        <span class="sig-arg">end_point</span>,
        <span class="sig-arg">interval</span>=<span class="sig-default">pythoncom.Empty</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#_CurveRootFunc.contour_pnts">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Returns the 3-D point locations calculated by contouring a curve 
  object.</p>
  <h1 class="heading">Parameters</h1>
    <p>start_point  (List of float, Required) - The 3-D starting point of a
    center line. end_point  (List of float, Required) - The 3-D ending 
    point of a center line. interval  (float, Optional) - The distance 
    between contour curves.  If omitted, the interval will be equal to the 
    diagonal distance of the object's bounding box divided by 50.</p>
  <h1 class="heading">Returns</h1>
    <p>list - A list of 3-D points, one for each contour, if successful. 
    None - If not successful, or on error.</p>
  <h1 class="heading">Rhinoscript</h1>
    <p>This function calls the Rhinoscript function: CurveContourPoints</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="crv_intersection"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">crv_intersection</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">curve</span>=<span class="sig-default">pythoncom.Empty</span>,
        <span class="sig-arg">tolerance</span>=<span class="sig-default">pythoncom.Empty</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#_CurveRootFunc.crv_intersection">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Calculates the intersection of two curve objects.</p>
  <h1 class="heading">Parameters</h1>
    <p>curve  (curve object, Optional) - The identifier of the second curve
    object.  If omitted, the a self-intersection test will be performed on 
    strObject1. tolerance  (float, Optional) - The absolute tolerance in 
    drawing units.  If omitted, the document's current absolute tolerance 
    is used.</p>
  <h1 class="heading">Returns</h1>
    <p>list - A two-dimensional list of intersection information if 
    successful.  The list will contain one or more of the following 
    elements: number - The intersection event type, either Point (1) or 
    Overlap (2). number - If the event type is Point (1), then the first 
    curve parameter. number - If the event type is Point (1), then the 
    first curve parameter. number - If the event type is Point (1), then 
    the second curve parameter. number - If the event type is Point (1), 
    then the second curve parameter. None - If not successful, or on 
    error.</p>
  <h1 class="heading">Rhinoscript</h1>
    <p>This function calls the Rhinoscript function: 
    CurveCurveIntersection</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="deviation"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">deviation</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">curve</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#_CurveRootFunc.deviation">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Returns the minimum and maximum deviation between two curve objects. 
  For more information on curve deviation, see the Rhino help file for the 
  CrvDeviation command.</p>
  <h1 class="heading">Parameters</h1>
    <p>curve  (curve object, Required) - The identifier of the second curve
    object.</p>
  <h1 class="heading">Returns</h1>
    <p>list - A list of numbers identifying the minimum and maximum 
    deviation between the two curves if successful. number - Curve A 
    parameter at maximum overlap distance point number - Curve A parameter 
    at maximum overlap distance point number - Maximum overlap distance 
    number - Curve A parameter at minimum distance point number - Curve B 
    parameter at minimum distance point number - Minimum distance between 
    curves None - On error or if no intervals of overlap were found.</p>
  <h1 class="heading">Rhinoscript</h1>
    <p>This function calls the Rhinoscript function: CurveDeviation</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="directions_match"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">directions_match</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">curve</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#_CurveRootFunc.directions_match">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Tests if two curve objects are generally in the same direction or if 
  they would be more in the same direction if one of them were flipped. 
  When testing curve directions, both curves must be either open or closed 
  - you cannot test one open curve and one closed curve.</p>
  <h1 class="heading">Parameters</h1>
    <p>curve  (curve object, Required) - The identifier of the second curve
    to compare.</p>
  <h1 class="heading">Returns</h1>
    <p>boolean - True if the curve directions match, otherwise False. None 
    - On error.</p>
  <h1 class="heading">Rhinoscript</h1>
    <p>This function calls the Rhinoscript function: 
    CurveDirectionsMatch</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="radius"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">radius</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">point</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#_CurveRootFunc.radius">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Returns the radius of curvature at a point on a curve.</p>
  <h1 class="heading">Parameters</h1>
    <p>point  (List of float, Required) - The test, or sampling, point.</p>
  <h1 class="heading">Returns</h1>
    <p>number - The radius of curvature at the point on the curve if 
    successful. None - If not successful, or on error.</p>
  <h1 class="heading">Rhinoscript</h1>
    <p>This function calls the Rhinoscript function: CurveRadius</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="srf_intersection"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">srf_intersection</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">surface</span>,
        <span class="sig-arg">tolerance</span>=<span class="sig-default">pythoncom.Empty</span>,
        <span class="sig-arg">angle_tolerance</span>=<span class="sig-default">pythoncom.Empty</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#_CurveRootFunc.srf_intersection">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Calculates the intersection of a curve object with a surface object. 
  Note, this function works on the untrimmed portion of the surface.</p>
  <h1 class="heading">Parameters</h1>
    <p>surface  (surface object, Required) - The identifier of a surface 
    object. tolerance  (float, Optional) - The absolute tolerance in 
    drawing units.  If omitted, the document's current absolute tolerance 
    is used. angle_tolerance  (float, Optional) - The angle tolerance in 
    degrees.  The angle tolerance is used to determine when the curve is 
    tangent to the surface.  If omitted, the document's current angle 
    tolerance is used.</p>
  <h1 class="heading">Returns</h1>
    <p>list - A two-dimensional list of intersection information if 
    successful.  The list will contain one or more of the following 
    elements: number - The intersection event type, either Point (1) or 
    Overlap (2). number - If the event type is Point (1), then the curve 
    parameter. number - If the event type is Point (1), then the curve 
    parameter. number - If the event type is Point (1), then the U surface 
    parameter. number - If the event type is Point (1), then the V surface 
    parameter. number - If the event type is Point (1), then the U surface 
    parameter. number - If the event type is Point (1), then the V surface 
    parameter. None - If not successful, or on error.</p>
  <h1 class="heading">Rhinoscript</h1>
    <p>This function calls the Rhinoscript function: 
    CurveSurfaceIntersection</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="divide_crv"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">divide_crv</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">segments</span>,
        <span class="sig-arg">create</span>=<span class="sig-default">pythoncom.Empty</span>,
        <span class="sig-arg">points</span>=<span class="sig-default">pythoncom.Empty</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#_CurveRootFunc.divide_crv">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Divides a curve object into a specified number of segments.</p>
  <h1 class="heading">Parameters</h1>
    <p>segments  (integer, Required) - The number of segments. create  
    (boolean, Optional) - Create the division points. If omitted or False, 
    points are not created. points  (boolean, Optional) - Return an list of
    3-D points. If omitted or True, points are returned. If False, then an 
    list of curve parameters are returned.</p>
  <h1 class="heading">Returns</h1>
    <p>list - If points is not specified or True, then a list containing 
    3-D division points if successful. list - If points is False, then a 
    list containing division curve parameters if successful. None - If not 
    successful, or on error.</p>
  <h1 class="heading">Rhinoscript</h1>
    <p>This function calls the Rhinoscript function: DivideCurve</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="divide_crv_equidistant"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">divide_crv_equidistant</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">distance</span>,
        <span class="sig-arg">create</span>=<span class="sig-default">pythoncom.Empty</span>,
        <span class="sig-arg">points</span>=<span class="sig-default">pythoncom.Empty</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#_CurveRootFunc.divide_crv_equidistant">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <pre class="literalblock">


Divides a curve such that the linear distance between the points is equal.
        Unlike the DivideCurve and DivideCurveLength, which divides a curve based on arc length, or the distance along the curve between two points, this function divides a curve based on the linear distance between points.

Parameters
==========
distance  (float, Required) - The linear distance between division points.
create  (boolean, Optional) - Create the division points. If omitted or False, points are not created.
points  (boolean, Optional) - Return an list of 3-D points. If omitted or True, points are returned. If False, then an list of curve parameters are returned.

Returns
=======
list - If points is not specified or True, then a list containing 3-D division points if successful.
list - If points is False, then a list containing division curve parameters if successful.
None - If not successful, or on error.

Rhinoscript
===========
This function calls the Rhinoscript function: DivideCurveEquidistant

</pre>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="divide_crv_length"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">divide_crv_length</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">length</span>,
        <span class="sig-arg">create</span>=<span class="sig-default">pythoncom.Empty</span>,
        <span class="sig-arg">points</span>=<span class="sig-default">pythoncom.Empty</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#_CurveRootFunc.divide_crv_length">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Divides a curve object into segments of a specified length.</p>
  <h1 class="heading">Parameters</h1>
    <p>length  (float, Required) - The length of each segment. create  
    (boolean, Optional) - Create the division points. If omitted or False, 
    points are not created. points  (boolean, Optional) - Return an list of
    3-D points. If omitted or True, points are returned. If False, then an 
    list of curve parameters are returned.</p>
  <h1 class="heading">Returns</h1>
    <p>list - If points is not specified or True, then a list containing 
    3-D division points if successful. list - If points is False, then a 
    list containing division curve parameters if successful. None - If not 
    successful, or on error.</p>
  <h1 class="heading">Rhinoscript</h1>
    <p>This function calls the Rhinoscript function: DivideCurveLength</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="line_fit_from_pnts"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">line_fit_from_pnts</span>(<span class="sig-arg">self</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#_CurveRootFunc.line_fit_from_pnts">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Returns the starting and ending points of a line that was fit through 
  an array of 3-D points.</p>
  <h1 class="heading">Parameters</h1>
    <p>No parameters</p>
  <h1 class="heading">Returns</h1>
    <p>list - A list containing the starting and ending points of the fit 
    line if successful. None - If not successful, or on error.</p>
  <h1 class="heading">Rhinoscript</h1>
    <p>This function calls the Rhinoscript function: LineFitFromPoints</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="make_non_periodic"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">make_non_periodic</span>(<span class="sig-arg">self</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#_CurveRootFunc.make_non_periodic">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Makes a periodic curve non-periodic.  Non-periodic curves can develop 
  kinks when deformed.</p>
  <h1 class="heading">Parameters</h1>
    <p>No parameters</p>
  <h1 class="heading">Returns</h1>
    <p>object - If delete is False, the new object if successful. object - 
    If delete is True, the modified object if successful. None - If not 
    successful, or on error.</p>
  <h1 class="heading">Rhinoscript</h1>
    <p>This function calls the Rhinoscript function: 
    MakeCurveNonPeriodic</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="make_periodic"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">make_periodic</span>(<span class="sig-arg">self</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#_CurveRootFunc.make_periodic">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Makes an existing curve a periodic NURBS curve.  A periodic NURBS 
  curve is a closed curve with a simple knot at the seam.  If a joined 
  curve is made periodic, it becomes a single-span curve and can no longer 
  be exploded.</p>
  <h1 class="heading">Parameters</h1>
    <p>No parameters</p>
  <h1 class="heading">Returns</h1>
    <p>object - If delete is False, the new object if successful. object - 
    If delete is True, the modified object if successful. None - If not 
    successful, or on error.</p>
  <h1 class="heading">Rhinoscript</h1>
    <p>This function calls the Rhinoscript function: MakeCurvePeriodic</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="planar_crv_collision"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">planar_crv_collision</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">curve</span>,
        <span class="sig-arg">plane</span>=<span class="sig-default">pythoncom.Empty</span>,
        <span class="sig-arg">tolerance</span>=<span class="sig-default">pythoncom.Empty</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.obj._rhinoscript_classes-pysrc.html#_CurveRootFunc.planar_crv_collision">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <pre class="literalblock">


Determines if two coplanar curves intersect.

Parameters
==========
curve  (curve object, Required) - The object identifier of the second planar curve.
plane  (List of float, Optional) - The new construction plane.  If omitted, the currently active construction plane is used.  The elements of a construction plane list are as follows:
        Element
        Type
        Description
        0
        Array
        Required.  The construction plane's origin (3-D point).
        1
        Array
        Required.  The construction plane's X axis direction (3-D vector).
        2
        Array
        Required.  The construction plane's Y axis direction (3-D vector).
        3
        Array
tolerance  (float, Optional) - The tolerance.  If omitted, the current document absolute tolerance is used.

Returns
=======
None - On error.

Rhinoscript
===========
This function calls the Rhinoscript function: PlanarCurveCollision

</pre>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">
  <!-- Home link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="py2rhino-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Project homepage -->
      <th class="navbar" align="right" width="100%">
        <table border="0" cellpadding="0" cellspacing="0">
          <tr><th class="navbar" align="center"
            >py2rhino</th>
          </tr></table></th>
  </tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
  <tr>
    <td align="left" class="footer">
    Generated by Epydoc 3.0.1 on Wed Sep 02 08:00:08 2009
    </td>
    <td align="right" class="footer">
      <a target="mainFrame" href="http://epydoc.sourceforge.net"
        >http://epydoc.sourceforge.net</a>
    </td>
  </tr>
</table>

<script type="text/javascript">
  <!--
  // Private objects are initially displayed (because if
  // javascript is turned off then we want them to be
  // visible); but by default, we want to hide them.  So hide
  // them unless we have a cookie that says to show them.
  checkCookie();
  // -->
</script>
</body>
</html>
